Smart visi-coolers

ABSTRACT

Systems, apparatus, interfaces, methods, and articles of manufacture for smart visi-coolers are provided.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims benefit and priority under 35 U.S.C. §119(e) to (i) U.S. Provisional Patent Application Ser. No. 61/294,101, filed on Jan. 11, 2010, and titled “VENDING MACHINE SYSTEMS AND METHODS”, and (ii) U.S. Provisional Patent Application Ser. No. 61/331,208, filed on May 4, 2010, and titled “EVENT SALES AND DISTRIBUTION SYSTEMS AND METHODS”. Each of the above-referenced applications is hereby incorporated by reference herein.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any-one of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND

Cabinets, shelves, racks, and other devices for displaying and providing products for sale have a long history of use in the retail sales industry. For food and restaurant sales, glass display cabinets are often utilized to present perishable products offered for sale. Many such establishments employ climate-controlled display cabinets such as “visi-coolers”, which are generally refrigerated cabinets with glass doors. The glass door allows products to be viewed by customers, facilitates maintenance of the proper temperature in the cabinet while closed, and permits customers to select and remove products desired for purchase in a self-service fashion. In many restaurant or other food establishments, a visi-cooler is usually placed within the customer area so that (i) refilling of the visi-cooler (which is often accomplished by route drivers from external vendors) is more easily accomplished and will not interfere with food preparation in the kitchen, and (ii) the self-service nature of the product selection reduces the order fulfillment burden on the food preparation and/or sales personnel.

BRIEF DESCRIPTION OF THE DRAWINGS

An understanding of embodiments described herein and many of the attendant advantages thereof may be readily obtained by reference to the following detailed description when considered with the accompanying drawings, wherein:

FIG. 1 is a perspective diagram of a typical visi-cooler;

FIG. 2 is smart visi-cooler according to some embodiments;

FIG. 3 is a system according to some embodiments;

FIG. 4 is a flow diagram of a method according to some embodiments;

FIG. 5 is a system according to some embodiments;

FIG. 6 is a functional diagram of a system and process according to some embodiments;

FIG. 7 is a flow diagram of a method according to some embodiments;

FIG. 8A, FIG. 8B, FIG. 8C, FIG. 8D, FIG. 8E, FIG. 8F, FIG. 8G, FIG. 8H, and FIG. 8I are example interfaces according to some embodiments;

FIG. 9 is an apparatus according to some embodiments; and

FIG. 10A and FIG. 10B are perspective diagrams of exemplary data storage devices according to some embodiments.

DETAILED DESCRIPTION I. Introduction

Embodiments described herein are descriptive of systems, apparatus, interfaces, methods, and articles of manufacture for smart visi-coolers. In some embodiments, for example, a visi-cooler may be enhanced to provide inventory tracking and/or control functionality (e.g., a “smart” visi-cooler). According to some embodiments, a system and/or method may be provided to provide customers the flexibility of purchasing an item from a smart visi-cooler without the need to stand in line at the typical in-store Point-Of-Sale (POS). In some embodiments, for example, an interface for purchasing products from a smart visi-cooler may be provided via a mobile electronic device to allow a customer to consummate a purchase and leave the retail establishment with the product without the need for standing in line.

Referring first to FIG. 1, a perspective diagram of a typical visi-cooler 110 is shown. The typical visi-cooler 110 may comprise, for example, a WDW735B Cold Merchandiser™ from Seaga Manufacturing, Inc. of Freeport, Ill., or a GDM-45 large double glass door merchandiser from True® Manufacturing Company of O'Fallon, Mo. The typical visi-cooler 110 comprises a cabinet 112 with one or more glass doors 114 via which a customer may access the interior of the refrigerated cabinet 112. The cabinet 112 houses various shelves 120 upon which units of products 124 are placed for display and sale. While one, two, or even three swinging or sliding glass doors 114 are typical, some visi-coolers 110 may instead comprise an air curtain which still maintains the products 124 at the appropriate temperatures but provides easier access for customers to the products 124.

The typical visi-cooler 110 serves an important function in a retail establishment by providing easy self-service product selection by customers. The product storage, restocking, and product selection utilizing the typical visi-cooler 110 can all occur without interference (or with minimal interference) to the operation of the retail establishment. The typical visi-cooler 110, however, is not an expensive piece of equipment—for it is basically a simple refrigerated cabinet. This is in steep contrast to a vending machine (not shown), which serves an entirely different purpose.

Vending machines, for example, are necessarily more complex because they fill the need for a device that can sell product (i) in places where there is little or no staff to assist with or manage sales and/or (ii) at times when no sales staff or other assistance is available. Typical vending machines accordingly comprise dispensing mechanisms of varying complexity, input devices to allow customers to make product selections, and one or more payment devices such as coin and/or acceptors or credit/debit card readers. Vending machines must also typically store received monies (i.e., bills and coins) and carry sufficient quantities of change to facilitate sales. Vending machines are also quite often owned and operated by a different entity than the entity that owns or operates a location where the vending machine is situated. Accordingly, the stocking, maintenance, and sales functions of a vending machine are often not directly tied to any operations at the location of the vending machine. Vending machines are thus much more complex and expensive than the typical visi-cooler 110, are utilized pursuant to a different model of operations, and indeed fill an entirely different role in product sales.

Applicants have realized that although one of the main benefits of the typical visi-cooler 110 is the price-point at which such a device may be acquired and although many of the features of a vending machine would not necessarily be desirable in a visi-cooler 110 (e.g., no need for a dispensing mechanism because the visi-cooler 110 is only utilized to sell product during the hours of operation of the retail establishment, and no need for an integrated payment acceptance device because the retail establishment already operates a POS system), some modifications to a typical visi-cooler 110 may be desirable.

According to some embodiments, for example, an enhanced or “smart” visi-cooler may comprise a cabinet, housing: (i) a product storage area storing at least one unit of a product; (ii) a sensor coupled to detect a removal, by a customer, of the at least one unit of the product from the product storage area; (iii) an electronic processor in communication with the sensor, wherein the electronic processor is operable to receive a signal from the sensor, the signal being indicative of the removal of the at least one unit of the product from the product storage area; and/or (iv) a communication device in communication with the processor, the communication device being operable to transmit to an external device, in response to a command from the electronic processor, an indication of the signal.

Some embodiments may include an apparatus, comprising: (i) a cabinet comprising an interior space; (ii) a plurality of shelves disposed within the interior space, each shelf of the plurality of shelves storing a plurality of units of product in a plurality of product columns, and each shelf of the plurality of shelves being coupled within the interior space of the cabinet, at an angle, such that a front side of each shelf is positioned vertically lower than the rear side of each shelf, causing a vector of gravitational force to exert forward pressure on each column of the plurality of product columns; (iii) a plurality of sensors, each sensor of the plurality of sensors coupled to sense, for a column of the plurality of columns, a first distance from the rear side of the shelf to the rear-most product in the column, at a first time, and a second distance from the rear side of the shelf to the rear-most product in the column, at a second time; and/or (iv) an electronic processor communicatively coupled to the plurality of sensors, the electronic processor being specially programmed to (1) receive, from each sensor of the plurality of sensors, an indication of the first distance and an indication of the second distance, (2) calculate, based on the first and second distances, a distance of displacement for each column of the plurality of the product columns, and (3) determine, based on information descriptive of the units of product stored in each column of the plurality of product columns, an inventory metric for each column of the plurality of product columns.

Some embodiments may include a method, comprising determining, by a sensor in a smart visi-cooler, a first distance from a reference point to a unit of product positioned in the rear of a column of units of product. In some embodiments, the method may comprise determining, by the sensor in the smart visi-cooler, after the determining of the first distance, and is response to a self-service removal, by a customer, of at least one unit of product from the column of units, a second distance from the reference point to the unit of product positioned in the rear of the column of units of product. In some embodiments, the method may comprise receiving, by an electronic processor in communication with the sensor, indications of both the first and second distances. In some embodiments, the method may comprise determining, by the electronic processor and based on the first and second distances and information descriptive of the column of product, a metric descriptive of a change in inventory of the column of product. In some embodiments, the method may comprise transmitting, by a communication device in communication with the electronic processor and to a device remote from the smart visi-cooler, an indication of the metric descriptive of the change in inventory of the column of product.

In some embodiments, a system may comprise a mobile customer device in communication with a remote electronic controller, the mobile customer device executing stored application instructions that results in the execution of various processes. The processes may include, for example, (i) transmitting, via a cellular telephone network and to the remote electronic controller, an indication of a product offered for sale via a smart visi-cooler that a customer associated with the mobile customer devices desires to purchase a unit of, (ii) transmitting, via the cellular telephone network and to the electronic controller, an indication of a payment for the unit of product, (iii) receiving, via the cellular telephone network and from the electronic controller, an indication of a confirmation of the payment, and/or (iv) outputting, via an output device of the mobile customer device and in a retail store where the smart visi-cooler is located, and in response to the receiving of the payment confirmation, information that allows the customer to leave the retail store with the unit of product without waiting in line.

According to some embodiments, the outputting may comprise displaying a specific color on a display device of the mobile customer device, the specific color being indicated by the payment confirmation and matching a display of the specific color on a POS device of the retail store.

In some embodiments, a system may comprise a smart visi-cooler comprising electronic components coupled to determine when a unit of a product has been removed from the smart visi-cooler and to transmit an indication of the removal to a POS device in the same retail store that the smart visi-cooler is located in, and/or the POS device in communication with the smart visi-cooler, the POS device executing stored instructions that results in execution of various processes. The processes may include, for example, (i) receiving the indication of the removal of the unit of the product from the smart visi-cooler, (ii) receiving, from a remote electronic controller, an indication that payment has been confirmed for at least one unit of the product, and/or (iii) outputting an indication that, in conjunction with an indication output by a mobile customer device, allows a customer operating the mobile customer device to depart the retail store with the removed unit of the product.

According to some embodiments, the outputting comprises displaying, via an electronic display device in communication with the POS device, an image representative of the at least one product for which payment has been confirmed.

In some embodiments, a system may comprise a network, comprising: (i) a first communication link to a mobile electronic device operated by a customer in a retail store, (ii) a second communication link to a central electronic controller located remotely from the retail store, (iii) a third communication link to a financial institution device located remotely from the retail store and from the central electronic controller, (iv) a fourth communication link to a POS device of the retail store, and/or (v) a fifth communication link to a smart visi-cooler located in the retail store. In some embodiments, the network: (a) receives, via the first communication link, a first indication of a type of product, stored in the smart visi-cooler of the retail store, that the customer desires to purchase a unit of, (b) receives, via the first communication link, a second indication of a payment for the purchase of a unit of the type of product that the customer desires to purchase, (c) transmits, via the second communication link, the first and second indications, (d) transmits, via the third communication link, a request for a payment confirmation, (e) receives, via the third communication link, the payment confirmation, (f) transmits, via the second communication link, the payment confirmation, (g) transmits, via the first communication link, a third indication of the payment confirmation, (h) transmits, via the fourth communication link, a fourth indication of the payment confirmation, (i) receives, via the fifth communication link, a fifth indication that a unit of the desired type of product has been removed from the smart visi-cooler, and/or (j) transmits, via the fourth communication link, a sixth indication that the unit of the desired type of product has been removed from the smart visi-cooler.

In some embodiments, a system may comprise a central electronic controller and a data storage device storing specially programmed instructions that, when executed by the central electronic controller, result in execution of various processes. The processes may include, for example, (i) receiving, from a mobile electronic device operated by a customer in a retail store, an indication of a type of product, stored in a smart visi-cooler of the retail store, that the customer desires to purchase a unit of, (ii) receiving, from the mobile electronic device operated by the customer in the retail store, an indication of a payment for the purchase of a unit of the type of product that the customer desires to purchase, (iii) transmitting, to a financial institution device and in response to the receiving of the indication of the payment, a request for payment confirmation, (iv) receiving, from the financial institution device and in response to the transmitting of the request for payment confirmation, confirmation of the payment, and/or (iv) transmitting, in response to the receiving of the payment confirmation, an indication that allows the customer to leave the retail store with a unit of the product without waiting in line.

According to some embodiments, the indication of the type of product received from the mobile electronic device operated by the customer in the retail store comprises information based on an image of at least one of (i) the unit of the product, (ii) a barcode of the unit or product, and (iii) a label associated with the unit of product. According to some embodiments, the indication of the payment received from the mobile electronic device operated by the customer in the retail store comprises an indication of an account of the customer. According to some embodiments, the indication that allows the customer to leave the retail store with a unit of the product without waiting in line comprises a payment receipt sent to the mobile electronic device operated by the customer in the retail store.

According to some embodiments, the indication that allows the customer to leave the retail store with a unit of the product without waiting in line comprises an image sent to a display device in the retail store. In some embodiments, the image may comprise an image of the customer, an image of representing the unit of product, and/or an image randomly selected from a plurality of available images. According to some embodiments, the indication that allows the customer to leave the retail store with a unit of the product without waiting in line comprises an indication of a color sent to a display device in the retail store. According to some embodiments, the indication that allows the customer to leave the retail store with a unit of the product without waiting in line comprises an indication of a command to allow access to the unit of product sent to the smart visi-cooler in the retail store.

In some embodiments, a method may comprise (i) receiving, by a central controller and from a mobile electronic device operated by a customer in a retail store, an indication of a type of product, stored in a smart visi-cooler of the retail store, that the customer desires to purchase a unit of, (ii) receiving, by the central controller and from the mobile electronic device operated by the customer in the retail store, an indication of a payment for the purchase of a unit of the type of product that the customer desires to purchase, (iii) transmitting, by the central controller and to a financial institution device and in response to the receiving of the indication of the payment, a request for payment confirmation, (iv) receiving, by the central controller and from the financial institution device and in response to the transmitting of the request for payment confirmation, confirmation of the payment, and/or (v) transmitting, by the central controller and in response to the receiving of the payment confirmation, an indication that allows the customer to leave the retail store with a unit of the product without waiting in line.

II. Terms and Definitions

Some embodiments described herein are associated with a “smart visi-cooler”. As utilized herein, the term “smart visi-cooler” may be utilized to describe any self-service product display device such as a shelving unit, storage cabinet, cooler, warmer, freezer, and/or refrigerator, that includes one or more electronic enhancements as described herein (e.g., inventory control, management, tracking, and/or reporting). The term “visi-cooler” is utilized for convenience to refer to such devices and is not intended to be limited to devices with transparent doors or windows (e.g., “visi”), nor is it intended to be limited to devices that are environmentally-controlled to include cool air (e.g., “cooler”). Subsets of smart visi-coolers may include, for example, product display devices with doors (“access-controlled smart visi-coolers”) and/or product display devices that are environmentally-controlled (“environmentally-controlled smart visi-coolers”). Unless otherwise and specifically stated herein, smart visi-coolers are not intended to be equivalent to vending machines. In some embodiments, differences between a smart visi-cooler and a vending machine may be exemplified by (i) the smart visi-cooler's lack of a payment acceptance and/or processing device, and/or (ii) the smart visi-cooler's lack of a vending mechanism or automatic vending mechanism (e.g., visi-coolers are “self-service” devices).

As used herein, the term “self-service” may generally be descriptive of the ability of a customer to physically acquire, take possession of, pick-up, and/or otherwise obtain a unit of product without requiring assistance from a dispensing mechanism or vending machine. A unit of product sitting on a shelf or in a tray that only requires the customer to reach out and grab the unit of product, whether or not a door (e.g., a refrigerated compartment door) or other similar mechanism need be manipulated first, comprises self-service.

Some embodiments described herein are associated with a “customer device” or a “network device”. As used herein, a “customer device” is a subset of a “network device”. The “network device”, for example, may generally refer to any device that can communicate via a network, while the “customer device” may comprise a network device that is owned or operated by or otherwise associated with a customer. Examples of customer and/or network devices may include, but are not limited to: a Personal Computer (PC), a computer workstation, a computer server, a printer, a scanner, a facsimile machine, a copier, a Personal Digital Assistant (PDA), a storage device (e.g., a disk drive), a hub, a router, a switch, and a modem, a video game console, or a wireless or cellular telephone. Customer and/or network devices may comprise one or more network components.

As used herein, the term “network component” may refer to a customer and/or network device, or a component, piece, portion, or combination of customer and/or network devices. Examples of network components may include, but are not limited to: a Static Random Access Memory (SRAM) device or module, a network processor, and a network communication path, connection, port, or cable.

In addition, some embodiments are associated with a “network” or a “communication network”. As used herein, the terms “network” and “communication network” may be used interchangeably and may refer to any object, entity, component, device, and/or any combination thereof that permits, facilitates, and/or otherwise contributes to or is associated with the transmission of messages, packets, signals, and/or other forms of information between and/or within one or more network devices. Networks may be or include a plurality of interconnected network devices. In some embodiments, networks may be hard-wired, wireless, virtual, neural, and/or any other configuration of type that is or becomes known. Communication networks may include, for example, one or more networks configured to operate in accordance with the Fast Ethernet LAN transmission standard 802.3-2002® published by the Institute of Electrical and Electronics Engineers (IEEE). In some embodiments, a network may include one or more wired and/or wireless networks operated in accordance with any communication standard or protocol that is or becomes known or practicable.

As used herein, the terms “information” and “data” may be used interchangeably and may refer to any data, text, voice, video, image, message, bit, packet, pulse, tone, waveform, and/or other type or configuration of signal and/or information. Information may comprise information packets transmitted, for example, in accordance with the Internet Protocol Version 6 (IPv6) standard as defined by “Internet Protocol Version 6 (IPv6) Specification” RFC 1883, published by the Internet Engineering Task Force (IETF), Network Working Group, S. Deering et al. (December 1995). Information may, according to some embodiments, be compressed, encoded, encrypted, and/or otherwise packaged or manipulated in accordance with any method that is or becomes known or practicable.

In addition, some embodiments described herein are associated with an “indication”. As used herein, the term “indication” may be used to refer to any indicia and/or other information indicative of or associated with a subject, item, entity, and/or other object and/or idea. As used herein, the phrases “information indicative of” and “indicia” may be used to refer to any information that represents, describes, and/or is otherwise associated with a related entity, subject, or object. Indicia of information may include, for example, a code, a reference, a link, a signal, an identifier, and/or any combination thereof and/or any other informative representation associated with the information. In some embodiments, indicia of information (or indicative of the information) may be or include the information itself and/or any portion or component of the information. In some embodiments, an indication may include a request, a solicitation, a broadcast, and/or any other form of information gathering and/or dissemination.

III. Smart Visi-Coolers

A. Overview

Turning to FIG. 2, a block diagram of a smart visi-cooler 210 according to some embodiments is shown. In some embodiments, the smart visi-cooler 210 may comprise a typical visi-cooler (such as the typical visi-cooler 110 of FIG. 1) with modifications and/or enhancements as described herein. The smart visi-cooler 210 may, for example, comprise a cabinet 212. The cabinet 212 may generally comprise a number of surfaces (not explicitly shown in FIG. 2) that define a cavity and/or interior space 212-1. According to some embodiments, the cabinet 212 may be coupled to and/or include a door 214. The door 214 may, in some embodiments, allow, prevent, and/or facilitate access to the interior space 212-1 and/or may facilitate environmental control of the interior space 212-1 (e.g., by reducing the transfer of air between the interior space 212-1 and areas outside of the cabinet 212). The door 214 may, for example, allow customers to access the interior space 212-1 during a self-service product removal event (i.e., operate in an “open” position), while otherwise reducing the loss of conditioned air within the interior space 212-1 (i.e., operate in a “closed” position). In some embodiments, the door 214 may comprise a hinged door, a sliding door, an air curtain, or any other type of divider or door 214 that is or becomes known or practicable.

In some embodiments, the smart visi-cooler 210 may comprise one or more product storage areas 220 a-n. The product storage areas 220 a-n may comprise any suitable objects or devices operable to hold and/or display units of product. The first product storage area 220 a may comprise a wire, glass, plastic, and/or metal shelf or tray, for example, while the second product storage area 220 b may comprise a bin, hopper, basket, and/or drawer. In some embodiments, the product storage areas 220 a-n may comprise different columns (or other organizations) of units of product within the interior space 212-1. The smart visi-cooler 210 of FIG. 2 may comprise a single shelf, tray, or rack, for example, upon which a plurality of units of product are placed and organized into the different product storage areas 220 a-n.

According to some embodiments, the door 214 may be opened (e.g., by a customer) to gain access to the units of product stored in one or more of the product storage areas 220 a-n. In some embodiments, a single door 214 may be operable to be opened to permit access to the product storage areas 220 a-n. In some embodiments, multiple doors 214 may be utilized to provide access to any combination of the product storage areas 220 a-n, as is or becomes desirable. According to some embodiments, the door 214 may comprise one or more other types of dividers such as an air curtain.

According to some embodiments, the smart visi-cooler 210 may comprise one or more sensors 230 a-n. As depicted in FIG. 2, in some embodiments the smart visi-cooler 210 may comprise a sensor 230 a-n for each of the product storage areas 220 a-n. Each of the sensors 230 a-n may, for example, be coupled to detect information descriptive of each respective product storage area 220 a-n. In some embodiments, a smaller or larger number of sensors 230 a-n may be utilized, as is or becomes desirable and/or practicable. According to some embodiments, the sensors 230 a-n may be setup within the interior space 212-1 to measure distances associated with any units of product stored in each of the respective product storage areas 220 a-n. According to some embodiments for example, the sensors 230 a-n may comprise one or more Laser Triangulation Sensor (LTS) devices operable to measure linear displacements of units of product in any respective product storage area 220 a-n.

The sensors 230 a-n may, in some embodiments, comprise other types and/or configurations of non-contact (and/or contact) displacement measurement devices. One or more of the sensors 230 a-n may comprise, for example, an Incremental Optical Encoder (10E) device, a Photo-Reflective (PR) measurement device, a laser interferometer device, a magnetostrictive measurement device, an ultrasonic measurement device, and/or a cable extension transducer device. The sensors 220 a-n may be communicatively coupled to a processor 240 and may be operable and/or programmed or configured to send indications of measured product-associated distances to the processor 240. In some embodiments (not depicted in FIG. 2), one or more sensors 230 a-n may also or alternatively by coupled to the door 214 (e.g., to detect an event descriptive of a movement or other change associated with the door 214). Such a door sensor may trigger, in some embodiments, the sensors 220 a-n to perform a distance and/or other measurement action (and/or to transmit results thereof to the processor 240).

In some embodiments, the cabinet 212 may house, contain, and/or be coupled to one or more of the processor 240 and/or a communication device 242. The processor 240 may, according to some embodiments, comprise an electronic processor such as an Intel® Core™ 2 Duo P8600 Central Processing Unit (CPU) available from Intel® Corporation of Santa Clara, Calif. In some embodiments, the processor 240 may execute instructions, such as instructions specially programmed into and/or for the processor 240 (or into or for the smart visi-cooler 210). The execution of the specially-programmed instructions may, for example, enable and/or facilitate the smart visi-cooler 210 to operate in accordance with embodiments as described herein.

According to some embodiments, the communication device 242 may be in communication with the processor 240. The communication device 242 may, for example, comprise a Network Interface Card (NIC), modem, router, network switch, an/or cellular interface device commutatively coupled to send and/or receive information in response to instructions sent from (and/or received by) the processor 240. In some embodiments, the communication device 242 may send information descriptive of inventory and/or inventory events of the smart visi-cooler 210 to one or more external devices (e.g., a central controller, communications relay and/or transmission or routing device, and/or a POS controller or a POS terminal (none of which are shown in FIG. 2)).).

In some embodiments, the smart visi-cooler 210 may comprise a data storage device 244. The data storage device 244 may comprise, for example, a cache, RAM, hard drive, or other disk or storage medium that stores various instructions and/or data. In some embodiments, the data storage device 244 may be communicatively coupled to the processor 240. The data storage device 244 may store a program 246-1, for example, that is accessed by the processor 240 and/or that is otherwise utilized to influence actions of the processor 240 and/or the smart visi-cooler 210.

The program 246-1, according to some embodiments, may comprise specially-programmed instructions that when executed by the processor 240 result in various methods, processes, and/or other actions in accordance with embodiments described herein. The program 246-1 may, for example, cause the processor 240 to send, in response to an indication of an inventory change event in the smart visi-cooler 210 (e.g., an opening and/or closing (or intrusion or disturbance, such as in the case that the door 214 comprises an air curtain) of the door 214), a command that causes the sensors 230 a-n to initiate and/or report a displacement measurement (or other product-related measurement; e.g., measurement data) taken with respect to the product storage areas 220 a-n. In some embodiments, the program 246-1 may cause the processor 240 to calculate (or lookup or otherwise determine), based on the measurement data from the sensors 230 a-n, an inventory metric for the smart visi-cooler 210. The program 246-1 may also or alternatively cause the processor 240 to command the communication device 242 to transmit data indicative of the inventory metric (e.g., to an external device such as a central controller (not shown in FIG. 2)).

In some embodiments, the data storage device 244 may store data such as inventory data 246-2, sales data 246-3, and/or customer data 246-4. The data storage device 244 may, for example, store one or more inventory metrics descriptive of an inventory of one or more products in the smart visi-cooler 210, as the inventory data 246-2. According to some embodiments, the inventory data 246-2 may comprise information descriptive of the units of product and/or the types of products stored in the data storage areas 220 a-n. Data indicative of a size, weight (or mass), location within the smart visi-cooler 210, and/or volume, of a unit of product and/or of a type of product may be stored as the inventory data 246-2 (or a portion thereof), for example, and the processor 240 may utilize such data, combined with displacement and/or other measurement data from the sensors 230 a-n, to determine the inventory metric (e.g., to figure out if units of product have been taken away from and/or added to the smart visi-cooler 210).

The sales data 246-3 may, in some embodiments, be indicative of sales that have occurred via the smart visi-cooler 210. In embodiments where the smart visi-cooler tracks inventory changes but does not function as a direct party to a payment transaction, the sales data 246-3 may comprise data inferred based on the inventory data 246-2 (e.g., inventory changes and prices of products removed from the smart visi-cooler 210). The customer data 246-4 may comprise data descriptive of one or more customers of the smart visi-cooler 210. The customer data 210 may, in some embodiments, be utilized to monitor (e.g., via detection of a customer's device (not shown) at or near the smart visi-cooled 210) customer activities with respect to the smart visi-cooler 210 and/or to gate access to one or more of the product storage areas 220 a-n. In the case that a transaction involving the smart visi-cooler 210 requires (or allows) a certain customer to take a unit of product from one of the product storage areas 220 a-n (or a specific one of the product storage areas 220 a-n), for example, the customer data 246-4 may be utilized (e.g., by the processor 240) to determine and/or ensure that the correct customer has removed a unit of product from the smart visi-cooler 210 (and/or from the correct product storage area 220 a-n).

According to some embodiments, the smart visi-cooler 210 may comprise an environmental control device 248. The environmental control device 248 may, for example, comprise an air-conditioning and/or refrigeration compressor, actuator, thermostat, refrigeration loop, condenser, evaporator, and/or a humidity measurement and/or control device operable to influence the environment of the interior space 212-1 of the cabinet 212. In some embodiments, the environmental control device 248 may be communicatively coupled to the processor 240. The environmental control device 248 may, for example, receive commands from the processor 240 that cause the environmental control device 248 to influence the environment of the interior space 212-1, or transmit data such as temperature and/or humidity readings to the processor 240.

While the smart visi-cooler 210 is described with reference to specific quantities and types of components, variations in the quantities, types, and/or configurations of the components of the smart visi-cooler 210 may be implemented without deviating from the scope of the embodiments described herein. In some embodiments, the smart visi-cooler 210 may comprise a standard visi-cooler outfitted with a retrofit device such described in co-pending U.S. patent application Ser. No. ______ filed on Jan. 11, 2011 in the name of Breitenbach et al and titled “MACHINE RETROFITS AND INTERACTIVE SODA FOUNTAINS”, the machine retrofit concepts of which are hereby incorporated by reference herein.

B. Example Configuration

Referring now to FIG. 3, a perspective diagram of a system 300 according to some embodiments is shown. In some embodiments, the system 300 may comprise a portion of (and/or otherwise be related to) a smart visi-cooler such as the smart visi-cooler 210 of FIG. 2 herein. The system 300 may comprise, for example, a back panel 302 which is coupled to a shelf 320. In some embodiments, the shelf 320 may be coupled to the back panel 320 at an angle 320-1. The shelf 320 may, according to some embodiments, define a plurality of product columns 322 a-c within which a plurality of units of a product 324 a-c (or of multiple products) are stored and/or displayed. The system 300 may also or alternatively comprise a plurality of sensors 330 a-c, a zero-inventory target 332, a product push plate 334, and/or a product push mechanism 336. In some embodiments, the system 300 may comprise a processor 340 in communication with the sensors 330 a-c.

Fewer or more components and/or various configurations of the depicted components may be included in the system 300 without deviating from the scope of embodiments described herein. In some embodiments, the components 302, 320, 322 a-c, 324 a-c, 330 a-c, 340 may be similar in configuration and/or functionality to similarly named and/or numbered components as described with reference to the smart visi-cooler 210 of FIG. 2 herein.

According to some embodiments, the angle 320-1 at which the shelf 320 is oriented with respect to the back panel 302 (and/or with respect to the vertical) may cause the shelf 320 to be tilted toward the zero-inventory target 332 (e.g., the “front” of the shelf 320). In such a manner, the units of product 324 a-c stored on the shelf 320 may be acted upon by a vector of gravitational force causing them to exert pressure on the zero-inventory target 332 (which may, for example, function as a “stop” preventing (or facilitating the prevention of) the units of product 324 a-c from falling off the shelf 320). Forward-exerted pressure may, for example, cause or allow units of product 324 a-c in a product column 322 a-c to slide forward in the event that a unit of product 324 a-c is removed from the product column 322 a-c. In the second product column 322 b, for example, in the case that the first unit of product 324 b-1 in the second product column 322 b is removed (e.g., by a customer—such as in a self-service manner), the second unit of product 324 b-2 in the second product column 322 b may slide forward on the shelf 320 (e.g., to “replace” the first unit of product 324 b-1 in the second product column 322 b that has been removed). In such a manner, the burden on customers to have to reach for units of product 324 a-c toward the back of the shelf 320 is reduced or eliminated.

The angle 320-1 of the shelf 320 may be set (e.g., by an owner/manufacturer/operator of the system 300) as desired to place more or less forward-exerted force on the units of product 324 a-c. The angle 320-1 may be increased, for example, to place less forward-exerted force on the units of product 324 a-c, up to a value of ninety (90) degrees, at which point zero (0) forward-exerted force would be place on the units of product 324 a-c. Similarly, the angle 320-1 may be decreased to increase the amount of forward-exerted force that would be placed on the units of product 324 a-c (i.e., there is an inversely proportional relationship between the value of the angle 320-1 and the force on the units of product 324 a-c). The angle 320-1 may generally be managed or set based on characteristics of the units of product 324 a-c (or subsets thereof), as desired. According to some embodiments, the shelf 320 may be constructed of (and/or laminated or otherwise coated with) a low-resistance material such as a smooth plastic, to facilitate sliding of the units of product 324 a-c toward the front of the shelf 320.

While the angle 320-1 is described with reference to a coupling of the shelf 320 to the back panel 302, it is contemplated that the shelf 320 may not, in some embodiments, be coupled to the back panel 302 and/or may also or alternatively coupled to other components of the system 300 not depicted in FIG. 3 (e.g., one or more side panels). The angle 320-1 may, according to some embodiments, be described with reference to one or more other surfaces or reference points (none of which are explicitly shown in FIG. 3).

As depicted in FIG. 3, the system 300 may comprise a sensor 330 a-c for each of the product columns 322 a-c. In some embodiments, fewer or more sensors 320 a-c may be utilized, as is or becomes desirable or practicable. According to some embodiments, the first sensor 330 a may comprise an LTS device that emits a laser (or other signal; e.g., represented by the dotted line marked “A” in FIG. 3) that bounces, reflects, and/or refracts off (e.g., represented by the dotted line marked “B” in FIG. 3) of a rear-most unit of product 324 a-3 in the first product column 322 a. The LTS sensor 330 a may, for example, receive at least a portion of the bounce-back and determine a distance associated with the rear-most unit of product 324 a-3 in the first product column 322 a. In some embodiments, the measured distance may be descriptive of the distance of the rear-most unit of product 324 a-3 in the first product column 322 a from the back panel 302 and/or from the LTS sensor 330 a.

According to some embodiments, any or all measurements taken by the first sensor 330 a may be transmitted to (and accordingly received by) the processor 340. The processor 340 may comprise, for example, an electronic processor such as a CPU that executes stored instructions (e.g., a program such as the program 2461 of FIG. 2) to process measurement data from the first sensor 330 a (and/or from the other sensors 330 b-c). In some embodiments, the measurement and/or distance data reported and/or indicated by the first sensor 320 a may be compared to measurement and/or distance data reported and/or indicated by the first sensor 320 a at a different point in time. The first sensor 320 a may measure the distance to the rear-most unit of product 324 a-3 in the first product column 322 a at a first time, for example, and then may measure the distance to the rear-most unit of product 324 a-3 in the first product column 322 a at a second time (e.g., in response to a triggering event and/or in response to a command from the processor 340).

By comparing the measurements at the two (or more) points in time, the processor 340 (and/or the first sensor 320 a) may calculate and/or otherwise determine a displacement of the first product column 322 a. In some embodiments, the determined displacement may be compared to data descriptive of the units of product 324 a stored in the first product column 322 a to determine how many units of product 324 a have been removed from or added to the first product column 322 a. In the case that the units of product 324 a stored in the first product column 322 a comprise soda cans (e.g., as depicted in FIG. 3), for example, the dimensions (e.g., the diameter) of the units of product 324 a stored in the first product column 322 a may be known and compared to the displacement data (e.g., the displacement data may be divided by the diameter data) to determine a change in the number of the units of product 324 a stored in the first product column 322 a.

In some embodiments, the second product column 322 b may be acted upon by the product push plate 334 and/or the product push mechanism 336. The product push mechanism 336 may comprise, for example, an auger, spring, piston, and/or other device operable to exert forward-directed force on the product push plate 334 which may in turn, for example, exert forward-directed force on the second product column 322 b (e.g., pushing the units of product 324 b stored in the second product column 322 toward the front of the shelf 320). In some embodiments, the product push plate 334 and/or the product push mechanism 336 may be utilized instead of or in addition to the setting of the angle 320-1 of the shelf 320.

According to some embodiments, the product push plate 334 and/or the product push mechanism 336 may operate in conjunction with (or as) the second sensor 330 b. The second sensor 330 b may comprise, for example, an LVDT device operable to measure a distance that the product push plate 334 and/or the product push mechanism 336 has traveled. The product push plate 334 may be forced backward to a datum position in the case that the second product column 322 b is completely filled with units of product 324 b (or when an operator configuring the system 300 otherwise sets the datum), for example, and any subsequent movement of the product push plate 334 may be recorded and/or reported by the second sensor 330 b. The movement of the product push plate 334 and/or the product push mechanism 336 may accordingly be utilized to determine an inventory level of the second product column 322 b.

In some embodiments, whether or not the system 300 comprises the product push plate 334 and/or the product push mechanism 336, the second sensor 330 b may comprise an LVDT and/or other linear measurement device operable to detect the number of units of product in (or removed or added to) the second product column 322 b. As depicted in FIG. 3, for example, the second sensor 330 b may comprise a device mounted to, in, or on (or integrated into) the shelf 320. In some embodiments, the second sensor 330 b may comprise a series of electrical and/or magnetic contacts disposed within or on the shelf 320 (e.g., underneath the units of product 324 b stored in the second product column 322 b and/or underneath the portion of the shelf 320 thereof) such that the number of the electrical and/or magnetic contacts that are acted upon by the units of product 324 b stored in the second product column 322 b is indicative of the inventory level of the second product column 322 b.

According to some embodiments, the third sensor 330 c may comprise an ultrasonic or photo reflective device. The third sensor 330 c may transmit a signal (not explicitly shown) along the third product column 322 c, which may reflect back from any unit of product 324 c stored in the third product column 322 c. In the case depicted in FIG. 3, the only unit of product 324 c remaining in the third product column 322 c is removed from the shelf 320, and the signal transmitted by the third sensor 330 c would accordingly reflect off of the zero-inventory target 332 (e.g., indicating that there is zero (o) inventory in the third product column 322 c). In some embodiments, the zero-inventory target 332 may not be necessary, such as in the case that an LVDT device is utilized for the sensors 330 a-c (e.g., signal reflection/bounce-back may not be required).

While the system 300 is described with reference to specific types and/or configurations of the sensors 330 a-c, any type, quantity, and/or configuration of sensors 330 a-c that are or becomes known or practicable and that are operable to facilitate the determination of inventory levels in one or more product columns 322 a-c, may be employed. In some embodiments, fewer or more product columns 322 a-c may be included in the system 300. Similarly, while only soda cans are depicted in FIG. 3 as representing the units of product 324 a-c, this is done for simplicity of example only, and embodiments herein fully contemplate other types (and combinations of types), quantities, layouts, and/or orientations of units of product 234 a-c.

C. Processes

Turning to FIG. 4, a flow diagram of a method 400 according to some embodiments is shown. In some embodiments, the method 400 may be performed and/or implemented by and/or otherwise associated with one or more specialized computerized processing devices (e.g., the processor 240, 340 of FIG. 2 and/or FIG. 3 herein), specialized computers, computer terminals, computer servers, computer systems and/or networks, and/or any combinations thereof (e.g., by one or more smart visi-cooler computers, controllers, and/or processing devices). In some embodiments, the method 400 may be embodied in, facilitated by, and/or otherwise associated with various input mechanisms and/or interfaces as described herein. The functional diagrams and flow diagrams described herein do not necessarily imply a fixed order to any depicted actions, steps, and/or procedures, and embodiments may generally be performed in any order that is practicable unless otherwise and specifically noted. Any of the processes and methods described herein may be performed and/or facilitated by hardware, software (including microcode), firmware, or any combination thereof. For example, a storage medium (e.g., a hard disk, Universal Serial Bus (USB) mass storage device, and/or Digital Video Disk (DVD)) may store thereon instructions that when executed by a machine (such as a computerized processing device) result in performance according to any one or more of the embodiments described herein.

In some embodiments, the method 400 may comprise determining a first distance from a reference point to a unit of product positioned in the rear of a column of units of product, at 402. A sensor of a smart visi-cooler (such as the sensors 230 a-n, 330 a-c of FIG. 2 and/or FIG. 3 herein) may, for example, transmit, receive, analyze, and/or otherwise process a signal, reading, measurement, and/or other metric indicative of a distance from the reference point to the rear-most product in the column. In some embodiments, the measurement may comprise a different dimension, characteristic, and/or metric associated with one or more products and/or one or more columns of products. In some embodiments, such as in the case that the sensor comprises a range-finding device such as an LTS, sonic, and/or photo reflective device, the sensor may transmit a signal and record or measure any bounce-back, reflectance, or other quality associated with the transmitted signal. Measuring a time to bounce-back and/or measuring angles of return of the signal may, for example, be utilized to determine a distance associated with a placement of one or more products in a smart visi-cooler.

According to some embodiments, the method 400 may comprise determining, after the determining of the first distance, a second distance from the reference point to the unit of product positioned in the rear of the column of units of product, at 404. The sensor of the smart visi-cooler may, for example, repeat the measurement and/or analysis conducted at 402. In some embodiments, the second measurement or determination of the second distance may be conducted at a second time, different and later than a first time at which the first distance was determined. In such a manner, for example, a distance, displacement, and/or other product-position metric of one or more products may be analyzed over time. In some embodiments, the second measurement may be conducted in response to a self-service removal, by a customer, of at least one unit of product from the column of units. A door-open sensor, motion sensor, and/or other trigger may be utilized, for example, to determine when it is likely that a product inventory change event has occurred in the smart visi-cooler. According to some embodiments, the second measurement and/or determination may be conducted bas on an elapsed and/or actual time (e.g., one (1) minute since the last measurement, ten (10) seconds after a door open-and-close sequence has ended, and/or every five (5) minutes).

In some embodiments, such as in the case that a sensor (or sensors) determines the two distance and/or product-positioning metrics, such metrics may be transmitted to a processing device (e.g., the processor 240, 340 of FIG. 2 and/or FIG. 3 herein) for analysis and/or communication to external devices. An electronic processor in communication with the sensor, for example, may receive indications of both the first and second distances.

In some embodiments, the method 400 may comprise determining, based on the first and second distances and information descriptive of the column of product, a metric descriptive of a change in inventory of the column of product, at 406. An electronic processor (e.g., that has received and/or otherwise accessed the first and second distances and/or positioning data) may, for example, utilize the distances to determine an amount that the units in the column have been displaced (e.g., over time). In some embodiments, the displacement distance may be divided by a product unit dimension (e.g., a diameter for cylindrical items, a width for square, rectangular, and/or irregularly-shaped items) to calculate how many units of product have been added to or taken away from the smart visi-cooler (or a specific product column or storage area thereof).

In some embodiments, the smart visi-cooler may store indications of any or all of the first and second distances, the inventory change metric, the information descriptive of the product column, sales data, customer data, etc.

According to some embodiments, the method 400 may comprise transmitting, to a remote device, an indication of the metric descriptive of the change in inventory of the column of product, at 408. A communication device in communication with the electronic processor may, for example, send a signal indicative of the inventory metric to an external device such as a central controller, POS controller, and/or POS device. In such a manner, inventory levels of the smart visi-cooler may be tracked (e.g., in real-time), which Applicants have discovered is useful, for example, in providing certain systems and executing or carrying out certain processes, as described in detail in the following sections.

IV. Grab-n-Go™

A. System Overview

Turning to FIG. 5, a block diagram of a system 500 according to some embodiments is shown. In some embodiments, the system 500 may comprise a smart visi-cooler 510 (such as the smart visi-cooler 210 of FIG. 2 herein), which may comprise a cabinet 512, doors 514, product storage racks 520, and/or various units of product 524. In some embodiments, the system may operate with and/or including other types and/or configurations of machines (e.g., vending machines and/or “interactive” soda fountains as described in co-pending U.S. patent application Ser. No. ______ filed on Jan. 11, 2011 in the name of Breitenbach et al and titled “MACHINE RETROFITS AND INTERACTIVE SODA FOUNTAINS”, the interactive soda fountain features of which are hereby incorporated by reference herein). According to some embodiments, the system 500 may comprise a network 550 with communication links to the smart visi-cooler 510 and a smart phone 560. In some embodiments, the system 500 may comprise a controller 570, a financial institution device 580, and/or a POS device 590, any or all of which may be communicatively connected to and/or via the communication links of the network 550. According to some embodiments, fewer or more components and/or various configurations of the depicted components may be included in the system 500 without deviating from the scope of embodiments described herein. In some embodiments, the components 510, 512, 514, 520, 524 may be similar in configuration and/or functionality to similarly named and/or numbered components as described with reference to the smart visi-cooler 210 of FIG. 2 herein.

According to some embodiments, the system 500 may be configured to manage and/or facilitate communications between the various components 510, 560, 570, 580, 590 to effectuate a sale of a unit of product 524 to a customer (not shown) associated with the smart phone 560. The smart phone 560, which may comprise any type of mobile computing device that is or becomes known or practicable, may for example, be utilized to identify a product 524 (or type of product) that the customer desires to purchase. Communications between the smart phone 560 and the controller 570 may be facilitated by the network and may, in some embodiments, comprise exchanging information regarding an account of the customer between the smart phone 560 and the controller 570. The customer may maintain an account with the controller 570, for example, and may utilize the account to purchase a unit of product 524 from the smart visi-cooler 510.

In some embodiments, the controller 570 may communicate with the financial institution device 580 to facilitate utilization of the customers' account to purchase the unit of product 524. The financial institution device 580 may comprise, for example, a computer or other network component owned and/or operated by a credit card company and/or issuer, a bank (e.g., a financial institution), a credit card clearinghouse entity, a network operating entity, and/or a third-party financial transaction entity (e.g., a third-party financial access and/or account or transactions options or features provider). According to some embodiments, the controller 570 may verify customer payment information, transfer funds, and/or reserve or hold a portion of credit or funds, via the financial institution device 580.

In some embodiments, the controller 570 and/or the smart phone 560 may transmit payment confirmation information to the POS device 590, via the network 550. Inventory data from the smart visi-cooler 510 may, according to some embodiments, be received by the POS device 590 from the smart visi-cooler 510 (e.g., via the network 550). In such a manner, for example, the POS device 590 may be able to reconcile inventory changes in the smart visi-cooler 510 with purchases conducted by the smart phone 560. In some embodiments, such purchases and/or reconciliations may allow the customer to take the unit of product 524 from a retail store (e.g., where the POS device 590 and/or the smart visi-cooler 510 are located) without needing to wait in line. Smart visi-cooler 510 sales may accordingly be increased (e.g., by broadening the available purchase channels to include the smart phone 560) without placing undue burden on the retail store (e.g., more units of product 524 may be sold without increasing lines at the POS device 590).

In some embodiments, communications between the smart visi-cooler 510 and the POS device 590 (and/or the controller 570) may be directed to controlling aspects and/or functionality of the smart visi-cooler 510. The interconnection of the smart visi-cooler 510 to the network 550 may permit and/or facilitate, for example, various remote settings and/or control of the smart visi-cooler 510. In some embodiments, for example, commands may be sent (e.g., from the POS device 590 and/or the controller 570) to the smart visi-cooler 510 to effectuate (i) locking or unlocking and/or opening or closing of the door 514, (ii) managing, setting, and/or changing energy settings of the smart visi-cooler 510 (e.g., setting temperature or humidity controls or thresholds), and/or (iii) updating or setting signage or displays such as displayed prices or promotions.

According to some embodiments, the smart visi-cooler 510 may provide and/or transmit various information to either or both of the POS device 590 and the controller 570 (and/or the smart phone 560, if desired) such as: (i) service alerts (e.g., temperature or humidity threshold triggers, service reminders, and/or malfunction indicators), (ii) usage and/or inventory data (e.g., derived from various sensors of the smart visi-cooler 510 (not explicitly shown in FIG. 5), such as the sensors 230 a-n, 330 a-c of FIG. 2 and/or FIG. 3 herein), and/or (iii) customer or location data. In some embodiments, the controller 570 (and/or the POS device 590) may utilize information received from and/or provided by the smart visi-cooler 510 to conduct and/or execute various processes. Information from the smart visi-cooler 510 may be utilized, for example, to predict or project inventory levels of the units of product 524, re-order units of product 524, contact re-stocking personnel (e.g., to schedule a re-stocking), determine which types of product should be re-stocked and/or how many units 524 thereof should be ordered and/or stocked, and/or set or change prices (e.g., based on demand).

While the network 550 is depicted in FIG. 5 as a single object, the network 550 may comprise any number, type, and/or configuration of networks that is or becomes known or practicable. According to some embodiments, the network 550 may comprise a conglomeration of different sub-networks and/or network components interconnected, directly or indirectly, by the components 510, 560, 570, 580, 590 of the system 500. The network 500 may comprise one or more cellular telephone networks with communication links between the smart phone 560 and the controller 570, for example, and/or may comprise the Internet, with communication links between the controller 570 and the financial institution device 580, for example.

In some embodiments, the network 550 may comprise a LAN (wireless and/or wired) with communication links between the smart visi-cooler 510 and the POS device 590 (and/or the smart phone 560; such as in the case that any such devices 510, 590, 560 are located within close proximity—e.g., the same building, such as a retail store). In some embodiments, the network 550 may comprise direct communications links between components 510, 560, 570, 580, 590 of the system 500. The smart visi-cooler 510 may, for example, be directly interfaced or connected to the POS device 590 via one or more wires or cables within a single retail store, such wires or cables (e.g., communication links) comprising portions of the network 550. In some embodiments, the network 550 may comprise one or many other links or network components other than those depicted in FIG. 5. The smart phone 560 may be connected to the controller 570 via various cell towers, routers, repeaters, ports, switches, and/or other network components that comprise the Internet and/or a cellular telephone (and/or Public Switched Telephone Network (PSTN)) network, and which comprise portions of the network 550.

B. Processes

Referring now to FIG. 6, a functional diagram of a process 600 according to some embodiments is shown. In some embodiments, the process 600 may be performed and/or implemented by and/or otherwise associated with one or more specialized computerized processing devices (e.g., the processor 240, 340 of FIG. 2 and/or FIG. 3 herein), specialized computers, computer terminals, computer servers, computer systems and/or networks, and/or any combinations thereof (e.g., by one or more smart visi-cooler computers, networks, controllers, and/or processing devices). In some embodiments, the process 600 may be related to and/or comprise a process or method for operating a smart visi-cooler such as described in accordance with the method 400 of FIG. 4 herein. In some embodiments, the process 600 may be embodied in, facilitated by, and/or otherwise associated with various input mechanisms and/or interfaces as described herein.

According to some embodiments, the process 600 may comprise various procedures performed in associated with a smart visi-cooler 610 (comprising a door 614), a unit of product 624, a mobile device 660 (e.g., associated with a customer (not shown)), a controller 670, a financial institution device 680, and/or a POS device 690. In some embodiments, the smart visi-cooler 610, the POS device 690, and/or the mobile device 660 may be physically located within a retail or other store 692. In some embodiments, the process 600 may also or alternatively comprise execution of various procedures in association with output 694 of the mobile device 660. According to some embodiments, fewer or more components and/or various configurations of the depicted components may be included in execution of the process 600 without deviating from the scope of embodiments described herein. In some embodiments, the components 610, 624, 660, 670, 680, 690 may be similar in configuration and/or functionality to similarly named and/or numbered components as described with reference to the smart visi-cooler 210 of FIG. 2 herein and/or with reference to the system 500 of FIG. 5 herein.

The process 600 may comprise, for example, a transmission sent from the mobile device 660 and received by the controller 670, at 696-1. The transmission may comprise, for example, a request to purchase the unit of product 624, payment authorization, location information, and/or account or other customer information. The transmission may comprise an indication of a product identified by the customer. The customer may utilize the mobile device 660, for example, to take a picture of the unit of product 624, physical indicia associated with the product (e.g., a price tag, label, Stock-Keeping Unit (SKU), and/or barcode such as a Universal Product Code (UPC)), and/or the smart visi-cooler 610 and information indicative of such actions may be forwarded to the controller 670. The transmission may be sent prior to or after the customer's removal the unit of product 624 from the smart visi-cooler 610.

In some embodiments, the controller 670 may utilize the received transmission at 696-1 to identify and/or determine the desired unit of product 624 and/or a type, cost, price, or other characteristic of the unit of product 624. According to some embodiments, the controller 670 may utilize the transmission to determine a location of the mobile device 660, identify the store 692, and/or identify the smart visi-cooler 610. The controller 670 may, for example, utilize the customer's location to determine that the customer desires to purchase the unit of product 624 from the store 692 (e.g., which may be one of a plurality of possible stores 692 and/or other locations where products may be purchased via the process 600). The controller 670 may also or alternatively determine an inventory level of the smart visi-cooler 610 and/or determine of the unit of product 624 is available via the smart visi-cooler 610 (e.g., whether the unit of product 624 is stocked at all and/or currently in stock).

According to some embodiments, the process 600 may comprise a transmission of a payment verification and/or validation sent from the controller 670 and received by the financial institution device 680, at 696-2. The financial institution device 680 may comprise a device owned and/or operated by a credit card company, clearinghouse, and/or bank, for example, and may store or have access to information regarding amounts of funds available to the customer for purchase of the unit of product 624. In some embodiments, such as in the case that the controller 670 is operated and/or owned by an entity that maintains customer accounts (e.g., stored-value and/or credit accounts), the controller 670 and the financial institution device 680 may comprise a single electronic device or group of electronic devices. In such embodiments, the transmission at 696-2 may comprise an internal transmission (e.g., within a device and/or within a LAN of a single entity and/or building). According to some embodiments, the transmission to the financial institution device 680 at 696-2 may be conducted in response to the receiving of the transmission from the mobile device 660 at 696-1.

In some embodiments, the process 600 may comprise a transmission sent from the financial institution device 680 and received by the controller 670, at 696-3 a and/or a transmission sent from the financial institution device 680 and received by the POS device 690, at 696-3 b. The transmission to the controller 670 (at 696-3 a), for example, may comprise a confirmation of payment, verification of sufficient funds being available, and/or an indication of a credit hold sufficient to cover the purchase of the unit of product 624. In some embodiments, the transmission to the POS device 690 (at 696-3 b) may comprise an indication of the purchase of the unit of product 624, an identifier of the customer and/or mobile device 660, and/or an electronic indication and/or transfer of funds sufficient to consummate the purchase of the of the unit of product 624.

According to some embodiments, the process 600 may comprise a transmission sent from the controller 670 and received by (i) the mobile device 660, at 696-4 a, (ii) the POS device 690, at 696-4 b, and/or (iii) the smart visi-cooler 610, at 696-4 c. In some embodiments, the transmission(s) at 696-4 may be conducted in response to and/or triggered by the receiving of the transmission of the payment conformation from the financial institution device 680, at 696-3 a. The controller 670, once it verifies that the customer has sufficient funds to purchase the unit of product 624, may for example, generate a receipt, confirmation, and/or other indicia of the sale of the unit of product 624 and transmit such data to any or all of the mobile device 660, the POS device 690, and/or the smart visi-cooler 610.

The mobile device 660 may receive, via the transmission at 696-4 a, in some embodiments, a payment receipt that may, for example, be displayed by the mobile device 660 as the output 694. As depicted in FIG. 6, the output 694 may comprise an indication of the store 692 (e.g., “Joe's Pizza”), an indication of the unit of product 624 (e.g., “1 Drink can”), an indication that a purchase of the unit of product 624 has been validated or confirmed (e.g., “PAID”), and/or other indicia such as the depicted barcode. In some embodiments, the output 694 may be provided to the POS device 690, at 696-4 d, and/or the smart visi-cooler 610, at 696-4 e. The output 694 may be scanned, analyzed, and/or otherwise processed by the POS device 690, for example, to track and/or record a confirmation that the purchase of the unit of product 624 has been completed. In the case that the customer has taken possession of the unit of product 624 and provides the output 694 (e.g., in conjunction with the unit of product 624), the output 694 may be utilized as confirmation that the unit of product 624 has been removed from the inventory of the smart visi-cooler 610. Such a confirmation may be cross-checked and/or reconciled with inventory information provided by the smart visi-cooler 610, in some embodiments, to ensure that inventory levels match respective product sales and/or removals of products from the smart visi-cooler 610.

In some embodiments, such as at 696-4 e, the smart visi-cooler 610 may comprise components such as a scanner or camera (not explicitly shown) that are capable of acquiring and/or receiving the output 694. According to some embodiments, the mobile device 660 may communicate the output 694 to the smart visi-cooler 610 via one or more wireless communication links such as Bluetooth®, Radio Frequency (RF), Wi-Fi®, etc. In some embodiments, the customer may utilize the mobile device 660 to “bump” the smart visi-cooler 610, which may comprise, for example, a motion imparted to the mobile device 660 (and/or to the smart visi-cooler 610 or a portion thereof) that initiates data transfer between the devices 660, 610. Such a “bump” (or other data transfer via 696-4 e) may, in some embodiments, cause the smart visi-cooler 610 to initiate an inventory status check and/or may prompt or cause the smart visi-cooler 610 to allow access to the unit of product 624 (e.g., by unlocking or opening the door 614 or other access-control device).

According to some embodiments, the transmission to the POS device (at 696-4 b) may comprise a payment receipt and/or an indication that facilitates management of in-store 692 sales of products from the smart visi-cooler 610 (e.g., without requiring customers to wait in line with other standard customers at the POS device 690). The POS device 690 may be utilized, for example, to compare information received from the controller 670 (e.g., via 696-4 b) to information received from the mobile device 660 (e.g., the output 694 and/or via 696-4 d), verifying that the customer in possession of the mobile device 660 is authorized to leave the store 692 with the unit of product 624. In some embodiments, an employee of the store 692 may utilize the POS device 690 to view and/or confirm information associated with the purchase. The information received by the POS device 690 may comprise, according to some embodiments, an image of a purchased product, an image of the customer, and/or a color, shape, or other image or code. Such information may then, for example, be compared (e.g., by an employee and/or by the POS device 690) to the customer, the unit of product 624, and/or another corresponding indicia represented by the output 694 of the mobile device 660.

According to some embodiments, the transmission to the smart visi-cooler 610 (at 696-4 c) may comprise various commands and/or information. The controller 670 may send the smart visi-cooler 610 a command to open the door 614, for example, and/or to provide access (e.g., unlock or open the door 614) to the customer with the mobile device 660 (e.g., based on a customer identifier and/or an identifier of the mobile device 660). In some embodiments, such as in the case that the smart visi-cooler 610 comprises various doors 614 gating access to various product storage areas, each storing products sold for the same price, the POS device 690 may not be included or required in the process 600. A command to unlock or provide access to a certain door 614 via which the customer may gain access to products of a single price-point, after payment confirmation has been verified, for example, may be sufficient to consummate the transaction. In such embodiments, however, the smart visi-cooler 610 may report inventory changes (e.g., to the POS device 690 and/or the controller 670) to confirm that the customer only removed the unit of product 624 that was paid for (and not other products in addition to what was paid for).

While the process 600 is described with respect to various transmissions and/or communications via which information is sent and received, these characteristics are examples that are not intended to be limiting. While certain information is described as being transmitted, for example, it should be understood that the information may otherwise be made available and may be queried, looked-up, and/or otherwise obtained without the necessity of an active transmission from one device to another.

It should also be understood that the process 600 and the various procedures and/or steps described in reference thereto are intended to be exemplary in nature. Fewer or more procedures, steps, decisions, flow diagram elements, and/or components may be included in the process 600 as is or becomes desirable and/or practicable. The order of any procedures, steps, and/or flow diagram elements of the process 600 is also exemplary in nature. Procedures, steps, and/or elements may be deleted, excluded, and/or removed from the process 600 and/or may not be active or practiced in every occurrence and/or implementation of the process 600. Various elements of the process 600 may be practiced or conducted at any location that is or becomes practicable. While some elements are described with reference to the store 692, for example, such elements may also or alternatively be carried out in one or more other locations, as is or becomes desirable or practicable.

Turning to FIG. 7, a flow diagram of a method 700 according to some embodiments is shown. In some embodiments, the method 700 may be performed and/or implemented by and/or otherwise associated with one or more specialized computerized processing devices (e.g., the processor 240, 340 of FIG. 2 and/or FIG. 3 herein), specialized computers, computer terminals, computer servers, computer systems and/or networks, and/or any combinations thereof (e.g., by the controller 570, 670 of FIG. 5 and/or FIG. 6 herein). In some embodiments, the method 700 may be embodied in, facilitated by, and/or otherwise associated with various input mechanisms and/or interfaces as described herein.

In some embodiments, the method 700 may comprise receiving an indication of a type of product, stored in a smart visi-cooler of a retail store, which a customer desires to purchase a unit of, at 702. The indication may be received, for example, by a central controller (e.g., the controller 570, 670 of FIG. 5 and/or FIG. 6) and/or may be sent from a mobile electronic device (e.g., the smart phone 560 of FIG. 5 and/or the mobile device 660 of FIG. 6) operated by the customer (e.g., in the retail store—such as the store 692 of FIG. 6). In some embodiments, the indication may comprise a picture of a desired product or product type, a menu selection indicative of the product, information indicative of a barcode, UPC, SKU, price, and/or other data descriptive of the product.

According to some embodiments, the method 700 may comprise receiving an indication of a payment for the purchase of a unit of the type of product that the customer desires to purchase, at 704. The indication may be received, for example, by the central controller and/or may be sent from the mobile electronic device operated by the customer. In some embodiments, the indication may comprise and/or be part of the indication of the desired product, at 702. A customer may have an account with the central controller, for example, and the indication of the desired product may constitute an indication or request to utilize a default payment type or method associated with the customer's account. In some embodiment, the indication of payment may comprise information received from a swipe of a credit card, another indication of a credit account, and/or an indication of a stored-value account such as a digital wallet.

In some embodiments, the method 700 may comprise transmitting a request for payment confirmation, at 706. The indication may be transmitted, for example, by the central controller and/or may be received by a financial institution device (e.g., the financial institution device 580, 680 of FIG. 5 and/or FIG. 6). In some embodiments, the request may be transmitted in response to the receiving of the indication of the payment, at 704. In some embodiments, such as in the case that the payment type comprises a stored-value account maintained by the same entity to which the indications (at 702 and/or 704) are received, requesting payment confirmation may comprise querying stored data to verify sufficient funds remain in the account. According to some embodiments, the request may comprise a standard credit card hold or charge request sent to a credit card clearing house or other credit card processor or issuer.

According to some embodiments, the method 700 may comprise receiving confirmation of the payment, at 708. The indication may be transmitted, for example, by the financial institution device and/or may be received by the central controller. In some embodiments, the confirmation may be transmitted in response to the receiving of the request, at 706. In some embodiments, such as in the case that the payment type comprises a stored-value account maintained by the same entity to which the indications (at 702 and/or 704) are received, receiving confirmation of the payment may comprise receiving query results relating to the stored-value account. In the case that the financial institution device is operated by a credit card-related company, the confirmation may comprise a charge authorization code and/or reference or verification number.

In some embodiments, the method 700 may comprise transmitting an indication that allows the customer to leave the retail store with a unit of the product without waiting in line, at 710. The indication may be transmitted, for example, by the central controller and/or may be transmitted in response to the receiving of the payment confirmation, at 708. In some embodiments, the indication may allow the customer to avoid a “standard” line in a store. In this context, “standard” refers to the typical manner in which products in the store are purchased and/or the typical manner in which visi-cooler products in the store would be purchased when a smart visi-cooler and/or the functionality of the smart visi-cooler are not employed. In some embodiments, for example, a self-service checkout, smart visi-cooler purchase verification stations and/or lines, and/or other “non-standard” checkout or verification methods may be employed.

According to some embodiments, the indication of the type of product received from the mobile electronic device operated by the customer in the retail store comprises information based on an image of at least one of (i) the unit of the product, (ii) a barcode of the unit or product, and (iii) a label associated with the unit of product. In some embodiments, the indication of the payment received from the mobile electronic device operated by the customer in the retail store comprises an indication of an account of the customer. According to some embodiments, the indication that allows the customer to leave the retail store with a unit of the product without waiting in line comprises a payment receipt sent to the mobile electronic device operated by the customer in the retail store. In some embodiments, the indication that allows the customer to leave the retail store with a unit of the product without waiting in line comprises an image sent to a display device in the retail store. The image may comprise, for example, an image of the customer, an image of representing the unit of product, and/or an image randomly selected from a plurality of available images.

In some embodiments, the indication that allows the customer to leave the retail store with a unit of the product without waiting in line comprises an indication of a color sent to a display device in the retail store. According to some embodiments, the indication that allows the customer to leave the retail store with a unit of the product without waiting in line comprises an indication of a command to allow access to the unit of product sent to the smart visi-cooler in the retail store.

C. Interfaces

Turning now to FIG. 8A, FIG. 8B, FIG. 8C, FIG. 8D, FIG. 8E, FIG. 8F, FIG. 8G, FIG. 8H, and FIG. 8I, example interfaces 802, 804 according to some embodiments are shown. In some embodiments, the either or both of the customer interface 802 and the store interface 804 may comprise a web page, web form, database entry form, Application Program Interface (API), spreadsheet, table, and/or application or other Graphical User Interface (GUI), such as a smart phone application. The customer interface 802 may, for example, be utilized by a customer and may facilitate the customer's location and/or identification a smart visi-cooler and/or desired product, execution of a purchase of a unit of the desired product, and/or providing of information that allows the customer to leave the store with the unit of product purchased via the customer interface 802. The store interface 804 may, for example, comprise POS software (and/or hardware), or a portion thereof, that facilitates the customer's purchase, via the customer interface 802, of a desired unit of product. The interfaces 802, 804 may, for example, comprise portions of a smart visi-cooler application and/or platform programmed and/or otherwise configured to execute, conduct, and/or facilitate any of the various methods 400, 700 of FIG. 4, and/or FIG. 7 and/or the process 600 of FIG. 6, and/or portions or combinations thereof. In some embodiments, the interfaces 802, 804 may be output via one or more computerized device such as the smart phone/mobile device 560, 660 and/or the POS device 590, 690, of FIG. 5 and/or FIG. 6 herein.

According to some embodiments, the customer interface 802 shown in FIG. 8A, may comprise an interface screen that allows a customer to choose, identify, and/or be prompted with a location of a smart visi-cooler via which a unit of product may be acquired. The customer interface 802 may comprise, for example, a first store selection button 802-1, a second store selection button 802-2, and/or an option button 802-3. The first store selection button 802-1 and the second store selection button 802-2 may, in some embodiments, represent stores where smart visi-coolers may be found. The store selection buttons 802-1, 802-2 may be populated, created, and/or selected by the customer (e.g., in the case the customer enters a store identifier via a prompt and/or preference menu (not shown)) and/or by the software running the customer interface 802. The customer interface 802 may, for example, present either or both of the store selection buttons 802-1, 802-2 based on an actual or presumed location of the customer (e.g., utilizing GPS and/or triangulation to locate the customer's smart phone). In some embodiments, such as in the case that the customer does not desire one of the stores represented by the store selection buttons 802-1, 802-2, the customer may select the option button 802-3, which may, for example, allow the customer to enter or choose a different store identifier (e.g., typed-in and/or via a picture taken from the customer's mobile device).

According to some embodiments, the customer interface 802 may comprise a refresh button 802-4. The refresh button 802-4 may, for example, allow the customer to indicate that the store selection buttons 802-1, 802-2 should be updated (e.g., based on a refresh of the customer's location information). The customer interface 802 depicted in FIG. 8B may, according to some embodiments, comprise an interface screen via which the customer may confirm a desired store and/or retail location (or other location at which a smart visi-cooler may exist). After selection of one of the store selection buttons 802-1, 802-2, for example, the interface may prompt the customer with a confirmation screen 802-5, via which the customer may select a cancel button 802-6 (e.g., to go back to the previous screen and re-select or update the store selection buttons 802-1, 802-2) or a confirm button 802-7 (e.g., to confirm that the identified store, “HIGH RIDGE 7-11”, is the desires store from which a product is desired to be purchased).

In some embodiments (as depicted in FIG. 8C), the customer interface 802 may comprise a product selection menu 806 providing information descriptive of a first type of product 808 a. The customer may utilize the customer interface 802, for example, to add units of the first product type 808 a to a virtual shopping cart, list, or order. The customer may utilize, according to some embodiments, the cancel button 802-6 (e.g., to cancel the order and/or to go back to the previous screen), the confirm or checkout button 802-7 (e.g., to indicate that the order is ready for completion and/or that no more units of the first product 808 a are desired for addition to the customer's virtual shopping cart), and/or a clear button 802-8 (e.g., via which the customer may remove and/or delete items from the order and/or virtual shopping cart).

According to some embodiments, such as in the case that the customer desires to purchase a unit of a second type of product 808 b (depicted in FIG. 8D) instead of or in addition to the first product 808 a, the customer interface 802 may present information descriptive of the second product 808 b via the product selection menu 806. The customer may then, for example, choose any of the cancel button 802-6, the confirm or checkout button 802-7, and/or the clear button 802-8, as desired.

In some embodiments, selection of the confirm or checkout button 802-7 may cause an order screen 810 (e.g., the customer's virtual shopping cart) of the customer interface 802 depicted in FIG. 8E to be displayed. The order screen 810 may provide, for example, a first indication 810 a that the customer has added one (1) unit of the first product 808 a to the shopping cart/order and a second indication 810 b that the customer has added one (1) unit of the second product 808 b to the shopping cart/order. The order screen may, in some embodiments, list the individual prices via the indications 810 a-b. According to some embodiments, a total order amount 812 may be displayed (e.g., three dollars ($3) as shown). The customer may utilize either of the cancel button 802-6 (e.g., to cancel the order and/or to go back to the previous product selection screen 806) or the confirm or checkout button 802-7 (e.g., to confirm the desired order is correct and/or to proceed with the purchase).

The customer interface 802 may, in some embodiments (such as depicted in FIG. 8F), comprise an order confirmation screen 814. In some embodiments, the order confirmation screen 814 may comprise and/or be similar in configuration or functionality to the output 694 described in relation to the process 600 of FIG. 6 herein. The order confirmation screen 814 may, for example, comprise an indication of a number or other identifier associated with the customer's order. In some embodiments, the order confirmation screen 814 may comprise an indication of a picture, image, color, pattern, and/or other identifier of the order (e.g., a barcode, a sound, a tone, and/or a ring-tone or clip from a song). In some embodiments, the order confirmation screen 814 may be shown or provided to, scanned and/or otherwise electronically read or analyzed by, and/or in some other manner checked or verified by a POS device, smart visi-cooler, and/or employee of the store in which the product is picked up by the customer (e.g., from a smart visi-cooler) for purchase. As depicted in FIG. 8F, in some embodiments the order confirmation screen 814 may monitor for an indication that a cashier (and/or POS or smart visi-cooler) has verified and/or allowed/permitted the acquisition of the desired unit of product.

According to some embodiments (as depicted in FIG. 8G), once the cashier, POS, smart visi-cooler, and/or other device or personnel confirms, accepts, verifies, and/or otherwise acknowledges the order, the order will be complete and the customer interface 802 may display an order completion screen 816. The order completion screen 816 may, for example, inform the customer that the transaction is complete and that the customer is accordingly free to leave the store with the purchased unit(s) of product. In some embodiments, the order completion screen 816 may comprise an acceptance button 816-1 (e.g., “OK”) via which the customer may exit the smart visi-cooler application that provides the customer interface 802 and/or via which the customer may go back to earlier screens or menus within the application.

In some embodiments (as depicted in FIG. 8H), the store interface 804 may comprise an interface of a POS, cash register, inventory management, and/or other software/hardware application operated by the store in which the smart visi-cooler is located (and from which the customer utilizing the customer interface 802 desires to purchase unit(s) of product). According to some embodiments, the store interface 804 may comprise various elements associated with and/or to facilitate typical purchases at the store. The store interface 804, for example, may comprise a POS interface via which a cashier sells products to regular customers waiting in a standard POS queue (e.g., a standard line). In some embodiments, the store interface 804 may comprise a smart visi-cooler purchase button 804-1 (e.g., labeled “Grab-n-Go™” in FIG. 8H). The smart visi-cooler purchase button 804-1 may, for example, allow the cashier to activate a smart visi-cooler application within the POS software (and/or otherwise available on or via the POS device). In the case that the cashier notices or is prompted that a customer desires to leave the store with a unit of product from a smart visi-cooler in the store, for example, the cashier may press the smart visi-cooler purchase button 804-1 to verify that the customer is authorized to do so. In some embodiments, this may occur in parallel to regular sales at the POS (and/or may not require the smart visi-cooler customer to stand in and/or wait in the regular POS queue).

In some embodiments (such as depicted in FIG. 8I), the store interface 804 may comprise a smart visi-cooler purchase window 820. The smart visi-cooler purchase window 820 may, for example, be activated and/or pop-up in the case that the cashier presses the smart visi-cooler purchase button 804-1. In some embodiments, the smart visi-cooler purchase window 820 may be activated and/or pop-up automatically, such as in response to a signal from a central controller and/or smart visi-cooler. The signal may be indicative, for example, of a product removal from the smart visi-cooler. According to some embodiments, the smart visi-cooler purchase window 820 may comprise a listing 822 of the pending and/or active smart visi-cooler orders. As shown in FIG. 8I for example, the “Order #1” placed via the customer interface 802 as described herein, may be listed. The listing 822 may provide details of the order in text or other visual (or even audio) forms. The listing 822 may be color-coded for easy and quick cashier recognition of different smart visi-cooler orders, for example, and/or may include images of the product(s) purchased and/or the customer (e.g., to facilitate efficient and accurate order verification).

While various components of the interfaces 802, 804 have been described with respect to certain labels, layouts, headings, titles, and/or configurations, these features have been presented for reference and example only. Other labels, layouts, headings, titles, and/or configurations may be implemented without deviating from the scope of embodiments herein. Similarly, while a certain number of tabs, information screens, form fields, and/or data entry options have been presented, variations thereof may be practiced in accordance with some embodiments.

V. Apparatus

Turning to FIG. 9, a block diagram of an apparatus 900 according to some embodiments is shown. In some embodiments, the apparatus 900 may be similar in configuration and/or functionality to the computerized controllers 570, 670 and/or the POS devices 590, 690 of FIG. 5 and/or FIG. 6 herein. The apparatus 900 may, for example, execute, process, facilitate, and/or otherwise be associated with the methods 400, 700 of FIG. 4 and/or FIG. 7 and/or with the process 600 of FIG. 6 herein. In some embodiments, the apparatus 900 may comprise an input device 902, an output device 904, an electronic processor 940, a communication device 942, and/or a memory device 944. Fewer or more components and/or various configurations of the components 902, 904, 940, 942, 944 may be included in the system 900 without deviating from the scope of embodiments described herein.

According to some embodiments, the electronic processor 940 may be or include any type, quantity, and/or configuration of electronic and/or computerized processor that is or becomes known. The electronic processor 940 may comprise, for example, an Intel® IXP 2800 network processor or an Intel® XEON™ Processor coupled with an Intel® E7501 chipset. In some embodiments, the electronic processor 940 may comprise multiple inter-connected processors, microprocessors, and/or micro-engines. According to some embodiments, the processor 940 (and/or the apparatus 900 and/or other components thereof) may be supplied power via a power supply (not shown) such as a battery, an Alternating Current (AC) source, a Direct Current (DC) source, an AC/DC adapter, solar cells, and/or an inertial generator. In the case that the apparatus 900 comprises a server such as a blade server, necessary power may be supplied via a standard AC outlet, power strip, surge protector, and/or Uninterruptible Power Supply (UPS) device.

In some embodiments, the input device 902 and/or the output device 904 are communicatively coupled to the electronic processor 940 (e.g., via wired and/or wireless connections, traces, and/or pathways) and they may generally comprise any types or configurations of input and output components and/or devices that are or become known, respectively. The input device 902 may comprise, for example, a keyboard that allows an operator of the apparatus 900 to interface with the apparatus 900 (e.g., by an operator of a central controller and/or by an employee of a store, such as to implement and/or interact with embodiments herein to sell products from smart visi-coolers). The output device 904 may, according to some embodiments, comprise a display screen and/or other practicable output component and/or device. The output device 904 may, for example, provide information, data, and/or images that permit a customer to remove a unit of product from a smart visi-cooler and leave the store thereof without waiting in line. According to some embodiments, the input device 902 and/or the output device 904 may comprise and/or be embodied in a single device such as a touch-screen monitor.

In some embodiments, the communication device 942 may comprise any type or configuration of communication device that is or becomes known or practicable. The communication device 942 may, for example, comprise a NIC, a telephonic device, a cellular network device, a router, a hub, a modem, and/or a communications port or cable. In some embodiments, the communication device 942 may be coupled to provide data to a customer device, such as in the case that the apparatus 900 is utilized to facilitate smart visi-cooler sales via customer's wireless and/or mobile devices. According to some embodiments, the communication device 942 may also or alternatively be coupled to the electronic processor 940. In some embodiments, the communication device 942 may comprise an IR, RF, Bluetooth™, and/or Wi-Fi® network device coupled to facilitate communications between the electronic processor 940 and another device (such as a customer device and/or a third-party device).

The memory device 944 may comprise any appropriate information storage device that is or becomes known or available, including, but not limited to, units and/or combinations of magnetic storage devices (e.g., a hard disk drive), optical storage devices, and/or semiconductor memory devices such as Random Access Memory (RAM) devices, Read Only Memory (ROM) devices, Single Data Rate Random Access Memory (SDR-RAM), Double Data Rate Random Access Memory (DDR-RAM), and/or Programmable Read Only Memory (PROM). The memory device 944 may, according to some embodiments, store one or more of product purchase instructions 946-1 and/or smart visi-cooler instructions 946-2. In some embodiments, the product purchase instructions 946-1 and/or smart visi-cooler instructions 946-2 may be utilized by the electronic processor 940 to provide output information via the output device 904 and/or the communication device 942 (e.g., the indication that allows the customer to leave the store with a smart visi-cooler product without waiting in line at 710 of the method 700 of FIG. 7).

According to some embodiments, the product purchase instructions 946-1 may be operable to cause the electronic processor 940 to access and/or process store data 946-3, smart visi-cooler data 946-4, and/or customer data 946-5, as described herein (e.g., in accordance with the process 600 of FIG. 6 and/or the method 700 of FIG. 7, herein). Store data 946-3, smart visi-cooler data 946-4, and/or customer data 946-5 received via the input device 902 and/or the communication device 942 may, for example, be analyzed, sorted, filtered, decoded, decompressed, ranked, scored, plotted, and/or otherwise processed by the electronic processor 940 in accordance with the product purchase instructions 946-1. In some embodiments, store data 946-3, smart visi-cooler data 946-4, and/or customer data 946-5 may be utilized by the electronic processor 940 to facilitate and/or conduct processes in accordance with the product purchase instructions 946-1 to allow a customer to purchase a unit of product from a smart visi-cooler as described herein. The product purchase instructions 946-1 may interface with an application stored on and/or executed by a customer's mobile phone, for example, to facilitate the purchase of smart visi-cooler product without the necessity for the customer to stand in the standard checkout line of a store and/or without the necessity to be processed by a POS device in the store.

In accordance with some embodiments, the store data 946-3 may comprise data descriptive of a plurality of stores at which smart visi-coolers are located and may include, for example, a store identifier, hours of operation, location data (e.g., street address and/or map coordinates), and/or data regarding other characteristics of participating stores (or locations or venues). In some embodiments, the store data 946-3 may be accessed by the processor 940 in response to a query from a customer's mobile device and/or otherwise to locate a store in proximity to a customer. According to some embodiments, the smart visi-cooler data 946-4 may comprise data descriptive of a plurality of smart visi-coolers such as inventory data, climate control settings, door status or state, energy levels or usage, associated sales and/or usage data, etc. The smart visi-cooler data 946-4 may be compared, by the electronic processor 940, for example, to authorized sales of inventory to determine and/or ensure that customers have taken the correct type and/or quantity of purchased product. Any discrepancies may be communicated (e.g., by the communication device 942) to the store for resolution (preferably in real-time so that any errors can be resolved prior to the customer leaving the store). In some embodiments, the customer data 946-5 may comprise information descriptive of a customer such as identifying information (name, address, etc.), account information (e.g., account numbers and/or balances), purchase history, preferences, and/or images (e.g., photos and/or likenesses or preferred images). The customer data 946-5 may be utilized by the electronic processor 940, for example, to verify payment information and/or to provide the customer and/or the store with one or more indications that permit the customer to leave the store with the desired product (e.g., an image of the customer, product type, and/or other image, code, or indicia).

In some embodiments, the smart visi-cooler instructions 946-2 may be operable to cause the electronic processor 940 to access and/or process the smart visi-cooler data 946-4 to alter, set, and/or otherwise manage settings of one or more smart visi-coolers. The smart visi-cooler instructions 946-2 may also or alternatively be utilized by the electronic processor 940 to analyze inventory and/or sales data to predict future inventory levels, schedule re-stocking events, and/or to determine how many units of product and/or which types of product to stock in the smart visi-cooler.

According to some embodiments, the apparatus 900 may generally function as a computer terminal and/or server of a service company, for example, which is utilized to process smart visi-cooler sales via various network connections to reduce barriers to visi-cooler product purchasing and to increase the efficiency of visi-cooler product sales. In some embodiments, the apparatus 900 may comprise a web server and/or other portal (e.g., an IVRU) that operates with and/or enables a customer-side application for purchasing smart visi-cooler products.

Any or all of the exemplary instructions and data types described herein and other practicable types of data may be stored in any number, type, and/or configuration of memory device 944 that is or becomes known. The memory device 944 may, for example, comprise one or more data tables or files, databases, table spaces, registers, and/or other storage structures. In some embodiments, multiple databases and/or storage structures (and/or multiple memory devices 944) may be utilized to store information associated with the apparatus 900. According to some embodiments, the memory device 944 may be incorporated into and/or otherwise coupled to the apparatus 900 (e.g., as shown) or may simply be accessible to the apparatus 900 (e.g., externally located and/or situated).

VI. Articles of Manufacture

Referring to FIG. 10A and FIG. 10B, perspective diagrams of exemplary data storage devices 1044 a-b according to some embodiments are shown. The data storage devices 1044 a-b may, for example, be utilized to store instructions and/or data such as the program 246-1, the inventory data 246-2, the sales data 246-3, and/or the customer data 246-4 described in reference to FIG. 2 herein and/or the product purchase instructions 946-1, the smart visi-cooler instructions 946-2, the store data 946-3, the smart visi-cooler data 946-4, and/or the customer data 946-5 described in reference to FIG. 9 herein. In some embodiments, instructions stored on the data storage devices 1044 a-b may, when executed by a processor (such as the electronic processor 240, 340, 940 of FIG. 2, FIG. 3, and/or FIG. 9), cause the implementation of and/or facilitate any of the various methods 400, 700 of FIG. 4 and/or FIG. 7 and/or the process 600 of FIG. 6, described herein.

According to some embodiments, the first data storage device 1044 a may comprise a CD, CD-ROM, DVD, Blu-Ray™ Disc, and/or other type of optically-encoded disk and/or other computer-readable storage medium that is or becomes know or practicable. In some embodiments, the second data storage device 1044 b may comprise a USB keyfob, dongle, and/or other type of flash memory data storage device that is or becomes know or practicable. The data storage devices 1044 a-b may generally store program instructions, code, and/or modules that, when executed by an electronic and/or computerized processing device cause a particular machine to function in accordance with embodiments described herein. In some embodiments, the data storage devices 1044 a-b depicted in FIG. 10A and FIG. 10B are representative of a class and/or subset of computer-readable media that are defined herein as “computer-readable memory” (e.g., memory devices as opposed to transmission devices). While computer-readable media may include transitory media types, as utilized herein, the term computer-readable memory is limited to non-transitory computer-readable media. In some embodiments, the data storage devices 1044 a-b depicted in FIG. 10A and FIG. 10B are representative of programs, instructions and/or data stored on one or more other types of computer-readable memory devices such as internal or external hard drives and/or flash memory.

VII. Rules of Interpretation

Numerous embodiments are described in this patent application, and are presented for illustrative purposes only. The described embodiments are not, and are not intended to be, limiting in any sense. The presently disclosed invention(s) are widely applicable to numerous embodiments, as is readily apparent from the disclosure. One of ordinary skill in the art will recognize that the disclosed invention(s) may be practiced with various modifications and alterations, such as structural, logical, software, and electrical modifications. Although particular features of the disclosed invention(s) may be described with reference to one or more particular embodiments and/or drawings, it should be understood that such features are not limited to usage in the one or more particular embodiments or drawings with reference to which they are described, unless expressly specified otherwise.

The present disclosure is neither a literal description of all embodiments of the invention nor a listing of features of the invention that must be present in all embodiments.

Neither the Title (set forth at the beginning of the first page of this patent application) nor the Abstract (set forth at the end of this patent application) is to be taken as limiting in any way the scope of the disclosed invention(s).

The term “product” means any machine, manufacture and/or composition of matter as contemplated by 35 U.S.C. §101, unless expressly specified otherwise.

The terms “an embodiment”, “embodiment”, “embodiments”, “the embodiment”, “the embodiments”, “one or more embodiments”, “some embodiments”, “one embodiment” and the like mean “one or more (but not all) disclosed embodiments”, unless expressly specified otherwise.

A reference to “another embodiment” in describing an embodiment does not imply that the referenced embodiment is mutually exclusive with another embodiment (e.g., an embodiment described before the referenced embodiment), unless expressly specified otherwise.

The terms “including”, “comprising” and variations thereof mean “including but not limited to”, unless expressly specified otherwise.

The terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise.

The term “plurality” means “two or more”, unless expressly specified otherwise.

The term “herein” means “in the present application, including the specification, its claims and figures, and anything which may be incorporated by reference”, unless expressly specified otherwise.

The phrase “at least one of”, when such phrase modifies a plurality of things (such as an enumerated list of things) means any combination of one or more of those things, unless expressly specified otherwise. For example, the phrase at least one of a widget, a car and a wheel means (i) a widget, (ii) a car, (iii) a wheel, (iv) a widget and a car, (v) a widget and a wheel, (vi) a car and a wheel, or (vii) a widget, a car and a wheel.

The phrase “based on” does not mean “based only on”, unless expressly specified otherwise. In other words, the phrase “based on” describes both “based only on” and “based at least on”.

The term “whereby” is used herein only to precede a clause or other set of words that express only the intended result, objective or consequence of something that is previously and explicitly recited. Thus, when the term “whereby” is used in a claim, the clause or other words that the term “whereby” modifies do not establish specific further limitations of the claim or otherwise restricts the meaning or scope of the claim.

Where a limitation of a first claim would cover one of a feature as well as more than one of a feature (e.g., a limitation such as “at least one widget” covers one widget as well as more than one widget), and where in a second claim that depends on the first claim, the second claim uses a definite article “the” to refer to the limitation (e.g., “the widget”), this does not imply that the first claim covers only one of the feature, and this does not imply that the second claim covers only one of the feature (e.g., “the widget” can cover both one widget and more than one widget).

When an ordinal number (such as “first”, “second”, “third” and so on) is used as an adjective before a term, that ordinal number is used (unless expressly specified otherwise) merely to indicate a particular feature, such as to allow for distinguishing that particular referenced feature from another feature that is described by the same term or by a similar term. For example, a “first widget” may be so named merely to allow for distinguishing it in one or more claims from a “second widget”, so as to encompass embodiments in which (1) the “first widget” is or is the same as the “second widget” and (2) the “first widget” is different than or is not identical to the “second widget”. Thus, the mere usage of the ordinal numbers “first” and “second” before the term “widget” does not indicate any other relationship between the two widgets, and likewise does not indicate any other characteristics of either or both widgets. For example, the mere usage of the ordinal numbers “first” and “second” before the term “widget” (1) does not indicate that either widget comes before or after any other in order or location; (2) does not indicate that either widget occurs or acts before or after any other in time; (3) does not indicate that either widget ranks above or below any other, as in importance or quality; and (4) does not indicate that the two referenced widgets are not identical or the same widget. In addition, the mere usage of ordinal numbers does not define a numerical limit to the features identified with the ordinal numbers. For example, the mere usage of the ordinal numbers “first” and “second” before the term “widget” does not indicate that there must be no more than two widgets.

When a single device or article is described herein, more than one device or article (whether or not they cooperate) may alternatively be used in place of the single device or article that is described. Accordingly, the functionality that is described as being possessed by a device may alternatively be possessed by more than one device or article (whether or not they cooperate).

Similarly, where more than one device or article is described herein (whether or not they cooperate), a single device or article may alternatively be used in place of the more than one device or article that is described. For example, a plurality of computer-based devices may be substituted with a single computer-based device. Accordingly, the various functionality that is described as being possessed by more than one device or article may alternatively be possessed by a single device or article.

The functionality and/or the features of a single device that is described may be alternatively embodied by one or more other devices which are described but are not explicitly described as having such functionality and/or features. Thus, other embodiments need not include the described device itself, but rather can include the one or more other devices which would, in those other embodiments, have such functionality/features.

Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. On the contrary, such devices need only transmit to each other as necessary or desirable, and may actually refrain from exchanging data most of the time. For example, a machine in communication with another machine via the Internet may not transmit data to the other machine for weeks at a time. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.

A description of an embodiment with several components or features does not imply that all or even any of such components and/or features are required. On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the present invention(s). Unless otherwise specified explicitly, no component and/or feature is essential or required.

Further, although process steps, algorithms or the like may be described in a sequential order, such processes may be configured to work in different orders. In other words, any sequence or order of steps that may be explicitly described does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously despite being described or implied as occurring non-simultaneously (e.g., because one step is described after the other step). Moreover, the illustration of a process by its depiction in a drawing does not imply that the illustrated process is exclusive of other variations and modifications thereto, does not imply that the illustrated process or any of its steps are necessary to the invention, and does not imply that the illustrated process is preferred.

Although a process may be described as including a plurality of steps, that does not indicate that all or even any of the steps are essential or required. Various other embodiments within the scope of the described invention(s) include other processes that omit some or all of the described steps. Unless otherwise specified explicitly, no step is essential or required.

Although a product may be described as including a plurality of components, aspects, qualities, characteristics and/or features, that does not indicate that all of the plurality are essential or required. Various other embodiments within the scope of the described invention(s) include other products that omit some or all of the described plurality.

An enumerated list of items (which may or may not be numbered) does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise. Likewise, an enumerated list of items (which may or may not be numbered) does not imply that any or all of the items are comprehensive of any category, unless expressly specified otherwise. For example, the enumerated list “a computer, a laptop, a PDA” does not imply that any or all of the three items of that list are mutually exclusive and does not imply that any or all of the three items of that list are comprehensive of any category.

Headings of sections provided in this patent application and the title of this patent application are for convenience only, and are not to be taken as limiting the disclosure in any way.

“Determining” something can be performed in a variety of manners and therefore the term “determining” (and like terms) includes calculating, computing, deriving, looking up (e.g., in a table, database or data structure), ascertaining and the like.

It will be readily apparent that the various methods and algorithms described herein may be implemented by, e.g., appropriately and/or specially-programmed general purpose computers and/or computing devices. Typically a processor (e.g., one or more microprocessors) will receive instructions from a memory or like device, and execute those instructions, thereby performing one or more processes defined by those instructions. Further, programs that implement such methods and algorithms may be stored and transmitted using a variety of media (e.g., computer readable media) in a number of manners. In some embodiments, hard-wired circuitry or custom hardware may be used in place of, or in combination with, software instructions for implementation of the processes of various embodiments. Thus, embodiments are not limited to any specific combination of hardware and software

A “processor” generally means any one or more microprocessors, CPU devices, computing devices, microcontrollers, digital signal processors, or like devices, as further described herein.

The term “computer-readable medium” refers to any medium that participates in providing data (e.g., instructions or other information) that may be read by a computer, a processor or a like device. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media include DRAM, which typically constitutes the main memory. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to the processor. Transmission media may include or convey acoustic waves, light waves and electromagnetic emissions, such as those generated during RF and IR data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.

The term “computer-readable memory” may generally refer to a subset and/or class of computer-readable medium that does not include transmission media such as waveforms, carrier waves, electromagnetic emissions, etc. Computer-readable memory may typically include physical media upon which data (e.g., instructions or other information) are stored, such as optical or magnetic disks and other persistent memory, DRAM, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, computer hard drives, backup tapes, Universal Serial Bus (USB) memory devices, and the like.

Various forms of computer readable media may be involved in carrying data, including sequences of instructions, to a processor. For example, sequences of instruction (i) may be delivered from RAM to a processor, (ii) may be carried over a wireless transmission medium, and/or (iii) may be formatted according to numerous formats, standards or protocols, such as Bluetooth™, TDMA, CDMA, 3G.

Where databases are described, it will be understood by one of ordinary skill in the art that (i) alternative database structures to those described may be readily employed, and (ii) other memory structures besides databases may be readily employed. Any illustrations or descriptions of any sample databases presented herein are illustrative arrangements for stored representations of information. Any number of other arrangements may be employed besides those suggested by, e.g., tables illustrated in drawings or elsewhere. Similarly, any illustrated entries of the databases represent exemplary information only; one of ordinary skill in the art will understand that the number and content of the entries can be different from those described herein. Further, despite any depiction of the databases as tables, other formats (including relational databases, object-based models and/or distributed databases) could be used to store and manipulate the data types described herein. Likewise, object methods or behaviors of a database can be used to implement various processes, such as the described herein. In addition, the databases may, in a known manner, be stored locally or remotely from a device that accesses data in such a database.

The present invention can be configured to work in a network environment including a computer that is in communication, via a communications network, with one or more devices. The computer may communicate with the devices directly or indirectly, via a wired or wireless medium such as the Internet, LAN, WAN or Ethernet, Token Ring, or via any appropriate communications means or combination of communications means. Each of the devices may comprise computers, such as those based on the Intel® Pentium® or Centrino™ processor, that are adapted to communicate with the computer. Any number and type of machines may be in communication with the computer.

The present disclosure provides, to one of ordinary skill in the art, an enabling description of several embodiments and/or inventions. Some of these embodiments and/or inventions may not be claimed in the present application, but may nevertheless be claimed in one or more continuing applications that claim the benefit of priority of the present application. Applicants intend to file additional applications to pursue patents for subject matter that has been disclosed and enabled but not claimed in the present application. 

1. A smart visi-cooler, comprising: a cabinet, housing: (i) a product storage area storing at least one unit of a product; (ii) a sensor coupled to detect a removal, by a customer, of the at least one unit of the product from the product storage area; (iii) an electronic processor in communication with the sensor, wherein the electronic processor is operable to receive a signal from the sensor, the signal being indicative of the removal of the at least one unit of the product from the product storage area; and (iv) a communication device in communication with the processor, the communication device being operable to transmit to an external device, in response to a command from the electronic processor, an indication of the signal.
 2. The smart visi-cooler of claim 1, wherein the smart visi-cooler does not comprise a dispensing mechanism.
 3. The smart visi-cooler of claim 1, further comprising: a door coupled to the cabinet, wherein the door is operable to be opened, allowing the customer to gain access to the product storage area.
 4. The smart visi-cooler of claim 3, wherein the sensor is coupled to detect removal of the at least one unit of the product by detecting a movement associated with an opening of the door.
 5. The smart visi-cooler of claim 1, further comprising: a data storage device in communication with the electronic processor, wherein the data storage device stores the indication of the signal.
 6. The smart visi-cooler of claim 5, wherein the data storage device further stores at least one of (i) data descriptive of a number of units of the product in the data storage area, (ii) data descriptive of a number of units of the product that have been removed from the data storage area, and (iii) data descriptive of one or more customers that have purchased a unit of the product from the smart visi-cooler.
 8. The smart visi-cooler of claim 1, further comprising: an environmental control device coupled to manage the environment inside the cabinet.
 7. (canceled)
 9. The smart visi-cooler of claim 7, wherein the sensor comprises a laser triangulation sensor and wherein the laser triangulation sensor detects the removal of the at least one unit of the product from the product storage area by detecting a displacement associated with the removal of the at least one unit of the product from the product storage area.
 10. The smart visi-cooler of claim 8, wherein the displacement comprises a displacement of the at least one unit of the product.
 11. The smart visi-cooler of claim 8, wherein the displacement comprises a second displacement of a different unit of the product, the second displacement being caused by a first displacement of the at least one unit of the product.
 12. The smart visi-cooler of claim 1, wherein the sensor comprises a linear variable differential transformer.
 13. The smart visi-cooler of claim 11, further comprising: a product push plate disposed in the product storage area; and a product push plate drive mechanism coupled to the product push plate and operable to apply a force to the product push plate such that the force is at least partially transferred to the at least one unit of product when the at least one unit of product is disposed within the product storage area.
 14. The smart visi-cooler of claim 11, wherein the linear variable differential transformer detects the removal of the at least one unit of the product from the product storage area by detecting a displacement associated with the removal of the at least one unit of the product from the product storage area.
 15. The smart visi-cooler of claim 13, wherein the displacement comprises a displacement of the at least one unit of the product.
 16. The smart visi-cooler of claim 13, wherein the displacement comprises a second displacement of a different unit of the product, the second displacement being caused by a first displacement of the at least one unit of the product.
 17. An apparatus, comprising: a cabinet comprising an interior space; a plurality of shelves disposed within the interior space, each shelf of the plurality of shelves storing a plurality of units of product in a plurality of product columns, and each shelf of the plurality of shelves being coupled within the interior space of the cabinet, at an angle, such that a front side of each shelf is positioned vertically lower than the rear side of each shelf, causing a vector of gravitational force to exert forward pressure on each column of the plurality of product columns; a plurality of sensors, each sensor of the plurality of sensors coupled to sense, for a column of the plurality of columns, a first distance from the rear side of the shelf to the rear-most product in the column, at a first time, and a second distance from the rear side of the shelf to the rear-most product in the column, at a second time; and an electronic processor communicatively coupled to the plurality of sensors, the electronic processor being specially programmed to (i) receive, from each sensor of the plurality of sensors, an indication of the first distance and an indication of the second distance, (ii) calculate, based on the first and second distances, a distance of displacement for each column of the plurality of the product columns, and (iii) determine, based on information descriptive of the units of product stored in each column of the plurality of product columns, an inventory metric for each column of the plurality of product columns.
 18. The apparatus of claim 16, further comprising: a communication device communicatively coupled to the electronic processor, the electronic processor being further specially programmed to cause the communication device to transmit, to an external device, an indication of the inventory metrics for the plurality of product columns.
 19. The apparatus of claim 16, further comprising: a data storage device communicatively coupled to the electronic processor, the data storage device storing indications of the first distance, the second distance, the information descriptive of the units of product stored in each column of the plurality of product columns, and the inventory metric for each column of the plurality of product columns.
 20. The apparatus of claim 16, wherein the apparatus does not include an automatic dispensing mechanism.
 21. A method, comprising: determining, by a sensor in a smart visi-cooler, a first distance from a reference point to a unit of product positioned in the rear of a column of units of product; determining, by the sensor in the smart visi-cooler, after the determining of the first distance, and is response to a self-service removal, by a customer, of at least one unit of product from the column of units, a second distance from the reference point to the unit of product positioned in the rear of the column of units of product; receiving, by an electronic processor in communication with the sensor, indications of both the first and second distances; determining, by the electronic processor and based on the first and second distances and information descriptive of the column of product, a metric descriptive of a change in inventory of the column of product; and transmitting, by a communication device in communication with the electronic processor and to a device remote from the smart visi-cooler, an indication of the metric descriptive of the change in inventory of the column of product. 